Instruction Selection for Compilers that Target Architectures with Echo Instructions

نویسندگان

  • Philip Brisk
  • Ani Nahapetian
  • Majid Sarrafzadeh
چکیده

Echo Instructions have recently been introduced to allow embedded processors to provide runtime decompression of LZ77-compressed programs at a minimal hardware cost compared to other recent decompression schemes. As embedded architectures begin to adopt echo instructions, new compiler techniques will be required to perform the compression step. This paper describes a novel instruction selection algorithm that can be integrated into a retargetable compiler that targets such architectures. The algorithm uses pattern matching to identify repeated fragments of the compiler’s intermediate representation of a program. Identical program fragments are replaced with echo instructions, thereby compressing the program. The techniques presented here can easily be adapted to perform procedural abstraction, which replaces repeated program fragments with procedure calls rather than echo instructions.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compilation Techniques for Exploiting Instruction Level Parallelism, a Survey

After the advent of pipelining, the new challenge of architectures since the eighties has been that of issuing and executing multiple instructions in the same clock cycle, i.e. to exploit Instruction Level Parallelism. In order to reach such aim, not only machines must be equipped with parallel data-paths for simultaneous execution of instructions, but, also, compilers need to expose parallelis...

متن کامل

Dynamically Scheduling VLIW Instructions with Dependency Information

This paper proposes balancing scheduling effort more evenly between the compiler and the processor, by introducing dynamically scheduled Very Long Instruction Word (VLIW) instructions. Dynamically Instruction Scheduled VLIW (DISVLIW) processor is aimed specifically at dynamic scheduling VLIW instructions with dependency information. The DISVLIW processor dynamically schedules each instruction w...

متن کامل

Converting Intermediate Code to Assembly Code Using Declarative Machine Descriptions

Writing an optimizing back end is expensive, in part because it requires mastery of both a target machine and a compiler’s internals. We separate these concerns by isolating target-machine knowledge in declarative machine descriptions. We then analyze these descriptions to automatically generate machinespecific components of the back end. In this work, we generate a recognizer; this component, ...

متن کامل

Automatic Generation of Assembly to IR Translators Using Compilers

Translating low-level machine instructions into higher-level intermediate representation (IR) is one of the central steps in many binary translation, analysis and instrumentation systems. Most of these systems manually build the machine instruction to IR mapping table needed for such a translation. As a result, these systems often suffer from two problems: (a) a great deal of manual effort is r...

متن کامل

C - - : A Portable Assembly

Of late it has become very common for research compilers to emit C as their target code, relying on a C compiler to generate machine code. In eeect, C is being used as a portable compiler target language. It ooers a simple and eeective way of avoiding the need to re-implement eeective register allocation, instruction selection, and instruction scheduling, and so on, all for a variety of target ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004